import Magix from '../lib/magix';
import DialogCtrl from '../os/ctrl';

'ref@:./theme/index.css';
import Config from '../config/index';
export default Magix.View.extend({
    tmpl: '@:./index.html',
    init(){
        this.set({
            MODULES:Config.MODULES || {},
            contextmenu:{
              left:0+'px',
              top:0+'px',
              height:0
            }
        });
    },
    render() {
        this.digest();
    },
    '$win<message>'(e) { // window对象
      this['@:{handleMessage}'](e)
    },
    '$doc<click>'(e) { // document对象
      e.preventDefault();
      this.set({
        contextmenu:{
           left:0,
           top:0,
           height:0
        }
     });
     this.render();
    },
    '$doc<contextmenu>'(e) { // document对象
      //取消默认的浏览器自带右键 很重要！！
      e.preventDefault();
      //获取我们自定义的右键菜单
     
      this.set({
         contextmenu:{
            left:e.clientX+'px',
            top:e.clientY+'px',
            height:'auto'
         }
      });

      this.render();
    },
    'refresh<click>'(e){
    
      window.location.reload();
    },
    'min<click>'(e){
      DialogCtrl["@:{toggle.min.all}"]();
    },
    'close<click>'(e){
      DialogCtrl["@:{close.all}"]();
    },
    '@:{handleMessage}'(e){
      
      let {data} =e;
      // 传输数据类型校验
			if (typeof(data) !== 'object') {
				return false;
			}
      let {msg,params} = data;
      switch(msg){
        case 'openDialog':
        DialogCtrl["@:{create}"](this, params);
        break;
        case 'closeDialog':
        DialogCtrl["@:{close}"](params.appId);
        break;   
        case 'closeAllDialog':
        DialogCtrl["@:{close.all}"]();
        break;
        case 'minAllDialog':
        DialogCtrl["@:{toggle.min.all}"]();
        break;
      }
    }
});